package com.tdg.qywx.mapper;

import com.tdg.qywx.model.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;


@Mapper
public interface PerMapper {

    // VW_TDG_UPH_EMP 相关操作
    List<Map<String, Object>> findALLBM();
    List<VW_TDG_UPH_EMP> findOnlineEmp(@Param("id") String id, @Param("mo") String mo, @Param("sec") String sec,@Param("bmid")String bmid);

    //查找工艺段信息
    Map<String, Object> findGYDInfo(@Param("mo") String mo, @Param("sec") String sec);


    // TB_TDG_UPH_EMP 相关操作
    tb_tdg_uph_emp findEmpInfoById(@Param("id") String id);
    boolean updateEmpUp(@Param("mo") String mo,@Param("scxm") String scxm,@Param("sec") String sec,@Param("rptid") String rptid,
                        @Param("opid") String opid,@Param("id") String id);
    boolean updateEmpDown(@Param("id") String id,@Param("mo") String mo,@Param("sec") String sec);


    //TB_BS_OPERATE 相关操作
    List<tb_bs_operate> findOperateByConditions(@Param("id") String id,@Param("mo") String mo,@Param("rptid") String rptid,@Param("state") String state);
    boolean insertOperate(@Param("functionID") String functionID,@Param("opid") String opid,@Param("id") String id,@Param("name") String name,@Param("state") int state,@Param("mo") String mo,
                          @Param("datetime") String datetime,@Param("rptid") String rptid,@Param("sec") String sec);

    //TB_QYWX_REPORT 相关操作
    boolean insertReport(@Param("functionID") String functionID,@Param("opid") String opid,@Param("id") String id,@Param("name") String name,@Param("mo") String mo,@Param("workTime") Double workTime,
                         @Param("downtime") String downtime,@Param("rptid") String rptid,@Param("sec") String sec);


    //TB_TDG_UPH_RPT 相关操作
    boolean insertRpt(@Param("functionID") String functionID,@Param("rptid") String rptid, @Param("scxm") String scxm, @Param("rptdate") Date rptdate, @Param("bb") String bb,
                      @Param("mo") String mo,@Param("buid") String buid,@Param("prodid") String prodid,@Param("prodmodel") String prodmodel,
                      @Param("userName") String userName,@Param("custid") String custid,@Param("custname") String custname,@Param("linename") String linename,
                      @Param("state") String state,@Param("rptstate") String rptstate,@Param("remark") String remark,@Param("opid") String opid);

    boolean updateRPTDown(@Param("functionID") String functionID,@Param("opid") String opid,@Param("remark") String remark,@Param("rptid") String rptid);
    boolean updateRPT(@Param("opid") String opid,@Param("sjrs") Double sjrs,@Param("gslyl") Double gslyl,@Param("rptid") String rptid);
    List<tb_tdg_uph_rpt> findRptByConditions(@Param("mo") String mo,@Param("scxm") String scxm, @Param("state") String state,@Param("sec") String sec);
    tb_tdg_uph_rpt findRptById(@Param("rptid") String rptid);


    //TB_TDG_UPH_RPT_ITEM 相关操作
    boolean insertRptItem(@Param("functionID") String functionID,@Param("opid") String opid,@Param("rptid") String rptid,@Param("sec") String sec,@Param("rptitemid") String rptitemid, @Param("btime") Date btime, @Param("pqty") Double pqty);
    boolean updateRptItemDown(@Param("functionID") String functionID,@Param("opid") String opid,@Param("etime") Date etime,@Param("rptid") String rptid);
    boolean updateRptItem(@Param("opid") String opid,@Param("bzde") Double bzde,@Param("rs") Double rs,@Param("sjrs") Double sjrs,
                          @Param("jsde") Double jsde,@Param("xygbl") Double xygbl,@Param("sjcl") Double sjcl,@Param("ccgs") Double ccgs,
                          @Param("hdgs") Double hdgs,@Param("xtgs") Double xtgs,@Param("gslyl") Double gslyl,@Param("zjsj") Double zjsj,
                          @Param("tpts") Double tpts,@Param("gdkqsj") Double gdkqsj,@Param("rptitemid") String rptitemid);
    List<tb_tdg_uph_rpt_item> findRptItemByConditions(@Param("rptid") String rptid, @Param("sec") String sec,@Param("state") String state,@Param("mo") String mo);
    tb_tdg_uph_rpt_item findRptItemById(@Param("rptitemid") String rptitemid);


    //TB_TDG_UPH_RPT_EMP 相关操作
    boolean insertRPTEmp(@Param("functionID") String functionID,@Param("opid") String opid,@Param("rptitemid") String rptitemid,@Param("rptid") String rptid,@Param("sec") String sec,@Param("id") String id,
                         @Param("name") String name,@Param("pos") String pos,@Param("btime") Date btime);
    boolean updateRPTEmpUp(@Param("functionID") String functionID,@Param("opid") String opid,@Param("rptid") String rptid,@Param("id") String id);
    boolean updateRPTEmpDown(@Param("functionID") String functionID,@Param("opid") String opid,@Param("etime") Date etime,@Param("worktime") Double worktime,@Param("id") String id,@Param("rptid") String rptid,@Param("rptitemid") String rptitemid);
    boolean updateRPTEmpWOMT(@Param("opid") String opid,@Param("worktime") Double worktime,@Param("id") String id,@Param("rptid") String rptid,@Param("rptitemid") String rptitemid);
    boolean updateRptEmpRPTWT(@Param("opid") String opid,@Param("hdgsdisByID") Double hdgsdisByID,@Param("rptid") String rptid,@Param("empid") String empid);
    List<tb_tdg_uph_rpt_emp> findRptEmpByConditions(@Param("rptid") String rptid,@Param("rptitemid") String rptitemid,@Param("empid") String empid,@Param("state") String state);


    //查询总的考勤工时
    Map<String, Object> findSumWorkTime(@Param("rptid") String rptid);
    //查询产能信息
    List<Map<String, Object>>  findCNGX(String gdh,String sec);


    Map<String, Object> findYSCSL(@Param("mo") String mo,@Param("sec") String sec);
}